關聯式資料庫(Relation Database)是由複數個資料表組合而成,每個關聯表會有不同的鍵值屬性(Key Attribute),分為:
-
屬性(Attribute):指一般屬性或欄位。
- 簡單屬性(Simple Attribute):無法繼續切割。例如:會員編號。
- 複合屬性(Composite Attribute):由複數屬性組成。例如;商品寄送地址可再切割為市、村、路、號。
- 衍生屬性(Derived Attribute):可由計算或推論而獲得。例如:會員的年齡用他們的生日來推算。
-
主鍵(Primary Key,P.K.):
在資料表中具有唯一性,欄位底下要加底線,鍵值不能重複且不能為空值。例如:會員編號。
-
超鍵(Super Key):選具有唯一性的當主鍵,找不到唯一時,也能用複數欄位組合起來,作為唯一識別欄位。
-
候選鍵(Candidate Key):主鍵的候選人,需符合唯一性及最小性。
-
外來鍵(Foreign Key):父關聯表(主鍵)嵌入子關聯表,用以進行關聯對應。
關聯式資料庫種類:
- 一對一關聯(1:1):以「成績處理系統」為例,當兩個資料表之間做一對一的關聯時,表示「學生資料表」中的每一筆記錄,只能對 應到「成績資料表」的一筆記錄,而且「成績資料表」的每一筆記錄,也只能對應到「學生資料表」的一筆記錄 ,這就是所謂的1對1關聯。
- 一對多關聯(1:M):以「疫苗預約系統」為例,「施打者資料表」及「疫苗資料表」,一位施打者接種時,當天只能選擇一種疫苗進行施打,但一種疫苗品項可供多位施打者選擇,這就是一對多關聯。
- 多對多關聯(M:N):以「訂書系統」為例,「書籍資料表」及「客戶資料表」,一個客戶可訂購好幾種書, 而一本書也可賣給好幾個客戶, 若要將兩者建立關聯, 那就是多對多關聯。
實體關係模式(Entity-Relationship Model,ER Model):用來描述實體與實體間關係的工具。
- 實體:描述真實物件。
- 屬性:描述實體的性質。。
- 鍵值:唯一性。
- 關係:一個實體與另一實體關聯的方式(一對一、一對多、多對多關聯)。
用網路商店簡單舉例ER Model:
正規化(Normalization):建構資料模式,為了降低資料的重複性,避免更新異常(新增、修改、刪除)。
參考資料:
書籍「動畫圖解資料庫系統理論」。